#ifndef __GND_SERVICE_INFOMATION_H__
#define __GND_SERVICE_INFOMATION_H__

#include "Service.h"
#include "Global.h"
#include <sigc++/signal.h>
#include <sigc++/slot.h>
#include <giomm/memoryinputstream.h>

namespace Gnodroid {
    class ServiceInfomation :
        public Service
    {
    public:
        ServiceInfomation();
        void start();
        void stop();

        //asycn
        void
        getDeviceProp(sigc::slot<void, bool, std::shared_ptr<DeviceProp> > slotCb);

        void
        getScreenCap(std::shared_ptr<bool> isContinue,
                     std::shared_ptr<int> interval,
                     sigc::slot<void, bool, Glib::RefPtr<Gio::MemoryInputStream>> slotCb);

    protected:
    private:

        void
        __getDevicePropThread(sigc::slot<void, bool, std::shared_ptr<DeviceProp> > slotCb);

        void
        __getScreenCapThread(std::shared_ptr<bool> isContinue,
                             std::shared_ptr<int> interval,
                             sigc::slot<void, bool, Glib::RefPtr<Gio::MemoryInputStream>> slotCb);
    };

}

#endif
